Mobile communication systems with Code Division Multiple Access (CDMA) modulation technique may adopt soft switch architecture and IP bearer for voice data transmission.
In the soft switch architecture, the two communication parties have to negotiate for speech Codec during a call setup process. The negotiation process in the prior art can include the following steps.
1. A calling user initiates a call request and transfers to a called user a Codec list CodecListA (Codec 1, Codec 2, Codec 3, . . . ) supported by the calling user as well as a Codec preferred by the calling user, e.g., Codec 1;
2. When receiving the Codec list CodecListA from the calling user, the called user finds a speech Codec supported by itself from the Codec list, and assigns that Codec as to be used by the calling user. When the called user chooses the Codec to be used by itself, it will consider the Codec preferred by the calling user in precedence, e.g., the Codec 1.
The choice of the called user has the following three cases.
A. If the called user chooses to use the Codec, e.g., Codec 1, preferred by the calling user, that is, the Codec used by the called user is consistent with that used by the calling user, there is no need to use a speech transcoder on the speech channel from the calling user to the called user, which is an ideal case.
B. If the called user doesn't choose the Codec preferred by the calling user, in other words, the called user doesn't support the speech Codec preferred by the calling user, e.g., the Codec 1, but chooses a non-preferred Codec, e.g., Codec 2, in the CodecListA supported by the calling user, a mobile switching system in the communication system will initiate a change process to the calling user, to instruct the calling user to change the Codec to Codec 2. In that case, the Codecs used by the calling user and the called user are consistent, and thereby there is no need to use a speech transcoder on the speech channel from the calling user to the called user. However, compared to case A, a Codec change process for the calling user is added.
C. If the called user doesn't choose any Codec from the CodecListA supported by the calling user, e.g., the called user chooses Codec 9, which is not in the CodecListA supported by the calling user, the communication system will insert a speech transcoder between the calling user and the called user, to implement conversion of voice streams in different Codecs between the calling user and the called user.
It may be seen that the negotiation is mainly accomplished by the calling user, the called user and the mobile switching system (e.g., Mobile Switching Center emulation (MSCe)) in the communication system. In above case B, the process in the prior art includes at least the following steps.
1. The calling user initiates a call request. The speech Codec list, e.g., CodecListA, supported by the calling user is carried in a signal to an MSCe triggered by the call request, and the preferred Codec (e.g., Codec 1) is assigned in the speech Codec list, in order to indicate that the calling user expects to use the preferred Codec to establish a bearer.
2. When the MSCe receives the signal, it uses the preferred Codec (i.e., Codec 1) to establish the bearer through the following steps: the MSCe sends a request for setting up a calling bearer endpoint to the Media GateWay (MGW); when receiving that request, the MGW sets up the calling bearer endpoint with Codec 1 and then returns setup success information to the MSCe.
3. The MSCe initiates a paging to the called user.
4. The called user transmits a paging response signal to the MSCe. A speech Codec list supported by the called user (e.g., CodecListB) is carried in the paging response signal and a preferred Codec (e.g., Codec 2) is assigned in the speech Codec list, to indicate that the called user expects to use the preferred Codec to set up the bearer.
5. The MSCe determines that there is an intersection set between CodecListA and CodecListB and the intersection set doesn't contain Codec 1 but contains Codec 2 (or another Codec supported by both the calling user and the called user), then sends a bearer update request to the calling user to request the calling user to change the preferred Codec of the calling user to Codec 2 (or another Codec supported by both the calling user and the called user); when receiving a response from the calling user, the MSCe updates the calling bearer endpoint that is set up in Step 2, and sets up a called bearer endpoint (in a similar process as the calling bearer endpoint setup process in Step 2).
It may be seen from above negotiation steps that, in the case that there is a Codec list supported by both the calling user and the called user (i.e., the intersection set between above CodecListA and CodecListB) while the preferred Codec of the calling party isn't in that list, the bearer update process is needed, which increases system cost and connecting duration.